νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μμ κ°λ ₯ν¨μ μμ보μΈμ. νμ μ μ΄κ³ μ κ·Όμ±μ΄ λ°μ΄λ μΉ μ ν리μΌμ΄μ μ μν΄ μμ± μ²λ¦¬ μμ€ν μ ꡬννλ λ°©λ²μ μμ보μΈμ.
νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μ: μμ± μ²λ¦¬ μμ€ν μ λν μ’ ν© κ°μ΄λ
μμ± μΈν°νμ΄μ€λ μ¬μ©μκ° μΉκ³Ό μνΈ μμ©νλ λ°©μμ λ³νμν€κ³ μμ΅λλ€. νΈμ¦ν리 νμμμ ν₯μλ μ κ·Όμ±μ μ΄λ₯΄κΈ°κΉμ§ μμ± μ²λ¦¬λ κ°λ ₯νκ³ μ§κ΄μ μΈ μ¬μ©μ κ²½νμ μ 곡ν©λλ€. μ΄ μ’ ν© κ°μ΄λμμλ νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μμ μΈκ³λ₯Ό νꡬνμ¬ νμ μ μΈ μμ± μ§μ μΉ μ ν리μΌμ΄μ μ ꡬμΆν μ μλλ‘ ν©λλ€.
νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μλ 무μμ λκΉ?
νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μλ μΉ μ ν리μΌμ΄μ μ μμ± μ²λ¦¬ κΈ°λ₯μ ν΅ν©νλ 볡μ‘μ±μ μ²λ¦¬νλ JavaScript κΈ°λ° μμ€ν μ λλ€. λΈλΌμ°μ μ Web Speech APIμ μ ν리μΌμ΄μ μ λ‘μ§ μ¬μ΄μ μ€κ°μ μν μ νλ©° μμ± μΈμ λ° ν μ€νΈ μμ± λ³ν(TTS) κΈ°λ₯μ λν ꡬ쑰νλκ³ κ°μνλ μ κ·Ό λ°©μμ μ 곡ν©λλ€.
λ³Έμ§μ μΌλ‘, μ΄κ²μ μ’ μ’ μ₯ν©νκ³ λλ‘λ μΌκ΄μ±μ΄ μλ λΈλΌμ°μ APIλ₯Ό μΊ‘μννμ¬ κ°λ°μκ° μ¬μ©ν μ μλ λ κΉ¨λνκ³ κ΄λ¦¬νκΈ° μ¬μ΄ APIλ₯Ό μ 곡ν©λλ€. μ΄ μΆμν κ³μΈ΅μ μΉμ¬μ΄νΈ λ° μΉ μ ν리μΌμ΄μ μ μμ± λͺ λ Ή, λ°μμ°κΈ° κΈ°λ₯ λλ μμ± νΌλλ°±μ μΆκ°νλ νλ‘μΈμ€λ₯Ό λ¨μνν©λλ€.
νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μλ₯Ό μ¬μ©νλ μ΄μ λ 무μμ λκΉ?
- κ°μνλ API: 볡μ‘ν Web Speech API μνΈ μμ©μ λ¨μννλ κ³ κΈ APIλ₯Ό μ 곡ν©λλ€.
- ν¬λ‘μ€ λΈλΌμ°μ νΈνμ±: λΈλΌμ°μ λ³ νΉμ§κ³Ό λΉμΌκ΄μ±μ μΆμννμ¬ λ€μν λΈλΌμ°μ μμ μΌκ΄λ λμμ 보μ₯ν©λλ€.
- μ΄λ²€νΈ κ΄λ¦¬: μμ± μΈμ μ΄λ²€νΈ(μ: μμ, μ’ λ£, κ²°κ³Ό, μ€λ₯)λ₯Ό ꡬ쑰νλ λ°©μμΌλ‘ μ²λ¦¬ν©λλ€.
- μ¬μ©μ μ μ: μΈμ΄, λ¬Έλ² λ° μ°μ λͺ¨λμ κ°μ μμ± μΈμ λ§€κ°λ³μλ₯Ό μ½κ² μ¬μ©μ μ μν μ μμ΅λλ€.
- ν μ€νΈ μμ± λ³ν ν΅ν©: μ’ μ’ ν μ€νΈ μμ± λ³ν(TTS) κΈ°λ₯μ λν μ§μμ΄ ν¬ν¨λμ΄ μμ± νΌλλ°± λ° μλ¦Όμ κ°λ₯νκ² ν©λλ€.
- μ κ·Όμ±: μμ± λͺ λ Ήμ μ¬μ©νμ¬ μΉ μ ν리μΌμ΄μ κ³Ό μνΈ μμ©ν μ μλλ‘ νμ¬ μ₯μ κ° μλ μ¬μ©μμ μ κ·Όμ±μ ν₯μμν΅λλ€.
- κ°μ λ μ¬μ©μ κ²½ν: νΈμ¦ν리 νμ λ° μμ± μ μ΄ μνΈ μμ©μ κ°λ₯νκ² νμ¬ λ³΄λ€ μ§κ΄μ μ΄κ³ λ§€λ ₯μ μΈ μ¬μ©μ κ²½νμ λ§λλλ€.
νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μμ μ£Όμ κ΅¬μ± μμ
μΌλ°μ μΈ νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μλ λ€μκ³Ό κ°μ μ£Όμ κ΅¬μ± μμλ‘ κ΅¬μ±λ©λλ€.
- μμ± μΈμ μμ§: μμ± μ€λμ€λ₯Ό ν μ€νΈλ‘ λ³ννλ ν΅μ¬ κ΅¬μ± μμμ λλ€. μ΄λ μΌλ°μ μΌλ‘ λΈλΌμ°μ μ λ΄μ₯ Web Speech APIλ₯Ό νμ©ν©λλ€.
- ν μ€νΈ μμ± λ³ν(TTS) μμ§: (μ ν μ¬ν) ν μ€νΈλ₯Ό μμ± μ€λμ€λ‘ λ³ννλ μν μ ν©λλ€. λν μΌλ°μ μΌλ‘ λΈλΌμ°μ μ λ΄μ₯ Web Speech APIλ₯Ό νμ©ν©λλ€.
- λ¬Έλ² μ μ(μ ν μ¬ν): μμ± μΈμ μμ§μ΄ μΈμν΄μΌ νλ λ¨μ΄ λλ ꡬ문μ μ§ν©μ μ μν©λλ€. νΉν νΉμ 컨ν μ€νΈ(μ: λͺ λ Ή λ° μ μ΄ μΈν°νμ΄μ€)μμ μ νλμ μ±λ₯μ ν₯μμν¬ μ μμ΅λλ€.
- μ΄λ²€νΈ μ²λ¦¬κΈ°: μμ± μμ, μμ± μ’ λ£, μΈμλ ꡬ문 κ°μ§ λλ μ€λ₯μ κ°μ νΉμ μμ± μΈμ μ΄λ²€νΈμ μν΄ νΈλ¦¬κ±°λλ κΈ°λ₯μ λλ€.
- κ΅¬μ± μ΅μ : μΈμ΄, μ°μ λͺ¨λ λ° μ€κ° κ²°κ³Όμ κ°μ μμ± μΈμ λ° TTS μμ§μ λμμ μ μ΄νλ μ€μ μ λλ€.
νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μ ꡬν: μ€μ©μ μΈ μ
Web Speech APIλ₯Ό μ§μ μ¬μ©νμ¬ νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μλ₯Ό ꡬννλ κΈ°λ³Έ μλ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€. μ΄ μμμλ μμ± μΈμμ μμ°νκ³ μΈμλ ν μ€νΈλ₯Ό νμ΄μ§μ νμν©λλ€. μ΄κ²μ΄ μμ ν κ΄λ¦¬μλ μλμ§λ§ ν΅μ¬ κ°λ μ 보μ¬μ€λλ€.
HTML ꡬ쑰
λ¨Όμ μΉ νμ΄μ§μ κΈ°λ³Έ HTML ꡬ쑰λ₯Ό λ§λλλ€.
<div id="speech-container">
<button id="start-button">Start Speech Recognition</button>
<p id="speech-output"></p>
</div>
μλ°μ€ν¬λ¦½νΈ μ½λ
μ΄μ μμ± μΈμμ μ²λ¦¬νλ μλ°μ€ν¬λ¦½νΈ μ½λλ₯Ό μΆκ°ν©λλ€.
// Check if the Web Speech API is supported
if ('webkitSpeechRecognition' in window) {
const speechRecognition = new webkitSpeechRecognition();
// Set speech recognition parameters
speechRecognition.continuous = false; // Set to true for continuous recognition
speechRecognition.interimResults = true; // Show interim results as the user speaks
speechRecognition.lang = 'en-US'; // Set the language
// Get references to HTML elements
const startButton = document.getElementById('start-button');
const speechOutput = document.getElementById('speech-output');
// Event handler for when speech recognition starts
speechRecognition.onstart = () => {
speechOutput.textContent = 'Listening...';
};
// Event handler for when speech recognition ends
speechRecognition.onend = () => {
speechOutput.textContent = 'Speech recognition ended.';
};
// Event handler for when speech recognition returns a result
speechRecognition.onresult = (event) => {
let interimTranscript = '';
let finalTranscript = '';
for (let i = event.resultIndex; i < event.results.length; ++i) {
if (event.results[i].isFinal) {
finalTranscript += event.results[i][0].transcript;
} else {
interimTranscript += event.results[i][0].transcript;
}
}
speechOutput.textContent = finalTranscript + interimTranscript; // Display both interim and final results
};
// Event handler for speech recognition errors
speechRecognition.onerror = (event) => {
speechOutput.textContent = 'Error occurred in speech recognition: ' + event.error;
};
// Event listener for the start button
startButton.addEventListener('click', () => {
speechRecognition.start();
});
} else {
speechOutput.textContent = 'Web Speech API is not supported in this browser.';
}
μ€λͺ
- μ΄ μ½λλ λ¨Όμ Web Speech APIκ° λΈλΌμ°μ μμ μ§μλλμ§ νμΈν©λλ€.
- `webkitSpeechRecognition` κ°μ²΄κ° μμ±λ©λλ€. (μ°Έκ³ : μ΄ μ λμ¬λ κ³Όκ±°νμ λλ€. μ΅μ λΈλΌμ°μ λ μ λμ¬ μμ΄ `SpeechRecognition`μ μ§μν©λλ€.)
- `continuous`(κ³μ λ£κΈ° μ¬λΆ) λ° `lang`(μΈμν μΈμ΄)κ³Ό κ°μ μμ± μΈμ λ§€κ°λ³μκ° μ€μ λ©λλ€.
- `onstart`, `onend`, `onresult` λ° `onerror` μ΄λ²€νΈμ λν μ΄λ²€νΈ μ²λ¦¬κΈ°κ° μ μλ©λλ€.
- `onresult` μ΄λ²€νΈ μ²λ¦¬κΈ°λ μ΄λ²€νΈ κ°μ²΄μμ μΈμλ ν μ€νΈλ₯Ό μΆμΆνμ¬ `speechOutput` μμμ νμν©λλ€. `interimResults`(μμ± μ€μ νμλλ λΆλΆ κ²°κ³Ό)μ `isFinal`(μ΅μ’ , νμΈλ κ²°κ³Ό)μ λͺ¨λ μ²λ¦¬ν©λλ€.
- `start` λ²νΌμ ν΄λ¦ μ΄λ²€νΈ 리μ€λλ μμ± μΈμ νλ‘μΈμ€λ₯Ό μμν©λλ€.
μ΄ κΈ°λ³Έ μλ Web Speech APIλ₯Ό μ¬μ©νμ¬ μμ± μΈμμ ν΅μ¬ μ리λ₯Ό 보μ¬μ€λλ€. μμ ν νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μλ μ΄ λ‘μ§μ μΊ‘μννκ³ κ°λ°μμκ² λ³΄λ€ κ°μνλκ³ μ¬μ©μ μ μ κ°λ₯ν APIλ₯Ό μ 곡ν©λλ€.
κ³ κΈ κΈ°λ₯ λ° κ³ λ € μ¬ν
κΈ°λ³Έ ꡬν μΈμλ νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μλ μ¬μ©μ κ²½νμ ν₯μμν€κ³ μ νλλ₯Ό λμ΄κΈ° μν΄ κ³ κΈ κΈ°λ₯μ ν΅ν©ν μ μμ΅λλ€.
λ¬Έλ² μ μ
λ¬Έλ²μ μ μνλ©΄ νΉν μ¬μ©μκ° μ νλ λ¨μ΄ λλ ꡬ문 μ§ν©μ μ¬μ©ν΄μΌ νλ μλ리μ€μμ μμ± μΈμμ μ νλλ₯Ό ν¬κ² ν₯μμν¬ μ μμ΅λλ€. Web Speech APIλ₯Ό μ¬μ©νλ©΄ SpeechGrammarList μΈν°νμ΄μ€λ₯Ό μ¬μ©νμ¬ λ¬Έλ²μ μ μν μ μμ΅λλ€. κ·Έλ¬λ λ¬Έλ² μ§μμ λΈλΌμ°μ μ’ μμ μ΄λ©° μ§μ ꡬννκΈ° μ΄λ €μΈ μ μμ΅λλ€. μμ± κ΄λ¦¬μλ λ¬Έλ²μ μ μνκ³ κ΄λ¦¬νλ λ³΄λ€ μΆμμ μΈ λ°©λ²μ μ 곡νμ¬ μ΄ νλ‘μΈμ€λ₯Ό λ¨μνν μ μμ΅λλ€.
μ: μΉμ¬μ΄νΈμ λν μμ± μ μ΄ νμ μμ€ν μ μμν΄ λ³΄μΈμ. λ¬Έλ²μ "νμΌλ‘ μ΄λ", "μ νμΌλ‘ μ΄λ", "μ°λ½μ²λ‘ μ΄λ" λ±κ³Ό κ°μ λͺ λ ΉμΌλ‘ ꡬμ±λ μ μμ΅λλ€. μ΄ λ¬Έλ²μ μ μνλ©΄ μΈμ μμ§μ μ΄λ¬ν κ΅¬λ¬Έλ§ *μμ*νλλ‘ μ§μνμ¬ νμ μμ²μ μΈμνλ μ νλλ₯Ό ν¬κ² λμ λλ€.
μ°μ μΈμ vs. λΉμ°μ μΈμ
μ°μ μΈμμ ν΅ν΄ μμ± μΈμ μμ§μ μ§μμ μΌλ‘ λ£κ³ μ€μκ°μΌλ‘ μμ±μ μ²λ¦¬ν μ μμ΅λλ€. λ°μμ°κΈ° λλ μμ± μ μ΄ λμ°λ―Έμ κ°μ μ ν리μΌμ΄μ μ μ ν©ν©λλ€. `speechRecognition.continuous = true;`λ‘ μ€μ νμ¬ νμ±νλ©λλ€.
λΉμ°μ μΈμμ λ¨μΌ λ°ν(μ§§μ μμ± λ²μ€νΈ)λ§ λ£κ³ μ€μ§ν©λλ€. μ¬μ©μκ° λͺ λ Ήμ λ§νκ³ μλ΅μ κΈ°λ€λ¦¬λ λͺ λ Ή κΈ°λ° μΈν°νμ΄μ€μ μ ν©ν©λλ€. λΉμ°μ μΈμμ μν΄μλ `speechRecognition.continuous = false;`μ λλ€.
μ’μ μμ± κ΄λ¦¬μλ κ°λ°μκ° μ΄λ¬ν λͺ¨λ κ°μ μ½κ² μ νν μ μλλ‘ μ μ΄λ₯Ό λ ΈμΆνλ©°, μ’ μ’ μ»¨ν μ€νΈ λλ μμΈ‘λ μ¬μ©μ μνΈ μμ©μ κΈ°λ°μΌλ‘ μλ μ ννλ μ΅μ μ΄ μμ΅λλ€.
μ€κ° κ²°κ³Ό
μ€κ° κ²°κ³Όλ μ¬μ©μκ° λ§νλ λμ μ 곡λλ μ¬μ©μμ μμ±μ λΆλΆμ λλ μλΉμ μΈ μ μ¬λ³Έμ λλ€. μ€κ° κ²°κ³Όλ₯Ό νμνλ©΄ μ¬μ©μμκ² κ·μ€ν νΌλλ°±μ μ 곡νκ³ μ ν리μΌμ΄μ μ μΈμ§λ μλ΅μ±μ ν₯μμν¬ μ μμ΅λλ€. `speechRecognition.interimResults = true;`λ μ΄ κΈ°λ₯μ νμ±νν©λλ€.
λ€μ λ§νμ§λ§, μ μ€κ³λ μμ± κ΄λ¦¬λ κ°λ°μμκ² μ€κ° κ²°κ³Όκ° νμλκ³ μ λ°μ΄νΈλλ λ°©μμ μΈλ°νκ² μ μ΄ν μ μμ΅λλ€.
μΈμ΄ μ§μ
Web Speech APIλ κ΄λ²μν μΈμ΄λ₯Ό μ§μν©λλ€. `speechRecognition.lang` μμ±μ μΈμν μΈμ΄λ₯Ό μ§μ ν©λλ€. μ ν리μΌμ΄μ μ΄ λμ μ¬μ©μκ° μ¬μ©νλ μΈμ΄λ₯Ό μ§μνλμ§ νμΈνμμμ€. μ¬μ©μλ₯Ό μν μΈμ΄ μ ν μ΅μ μ μ 곡νλ κ²μ κ³ λ €νμμμ€.
κΈλ‘λ² μ: λ€κ΅μ μ μ μκ±°λ μ¬μ΄νΈλ μμ΄, μ€νμΈμ΄, νλμ€μ΄, λ μΌμ΄ λ° λ§λ€λ¦°μ΄ μμ± κ²μμ μ 곡νμ¬ λ€μν μ§μμ μ¬μ©μκ° λͺ¨κ΅μ΄λ‘ μ νμ μ½κ² μ°Ύμ μ μλλ‘ ν μ μμ΅λλ€.
μ€λ₯ μ²λ¦¬
κΈμ μ μΈ μ¬μ©μ κ²½νμ μν΄μλ κ°λ ₯ν μ€λ₯ μ²λ¦¬κ° μ€μν©λλ€. `onerror` μ΄λ²€νΈ μ²λ¦¬κΈ°λ μμ± μΈμ μ€μ λ°μνλ μ€λ₯μ λν μ 보λ₯Ό μ 곡ν©λλ€. μΌλ°μ μΈ μ€λ₯μλ λ€νΈμν¬ μ°κ²° λ¬Έμ , λ§μ΄ν¬ μ‘μΈμ€ λ¬Έμ λ° μμ± μΈμ μ€ν¨κ° μμ΅λλ€. μ΄λ¬ν μ€λ₯λ₯Ό μ μ νκ² μ²λ¦¬νκ³ μ¬μ©μμκ² μ μ΅ν λ©μμ§λ₯Ό μ 곡νμμμ€.
λ€μν λΈλΌμ°μ λ° μμ€ν μμ μ€λ₯λ₯Ό λ€λ₯΄κ² μ²λ¦¬νλ―λ‘ κ°λ ₯ν μμ± κ΄λ¦¬λ μ΄λ¬ν μ€λ₯λ₯Ό λ³΄λ€ κ΄λ¦¬ κ°λ₯νκ³ μΌκ΄λ μ½λ λ° λ©μμ§ μ§ν©μΌλ‘ μ κ·ννκ³ μΆμννλ €κ³ μλν΄μΌ ν©λλ€.
ν μ€νΈ μμ± λ³ν(TTS) ν΅ν©
μμ± μΈμμ΄ μ λ ₯μ μ΄μ μ λ§μΆλ λ°λ©΄, ν μ€νΈ μμ± λ³ν(TTS)μ μμ± μΆλ ₯μ μ 곡νμ¬ λ³΄λ€ μμ νκ³ λνν μμ± νκ²½μ λ§λλλ€. Web Speech APIμλ TTS μμ§(SpeechSynthesis)λ ν¬ν¨λμ΄ μμ΅λλ€. ν¬κ΄μ μΈ νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μλ μ’ μ’ μμ± μΈμκ³Ό TTS κΈ°λ₯μ λͺ¨λ ν΅ν©ν©λλ€.
μ: μΈμ΄ νμ΅ μ ν리μΌμ΄μ μ μμ± μΈμμ μ¬μ©νμ¬ λ°μμ νκ°νκ³ TTSλ₯Ό μ¬μ©νμ¬ λ€μν μΈμ΄μ μ¬λ°λ₯Έ λ°μ μμλ₯Ό μ 곡ν μ μμ΅λλ€.
νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μ μ ν λλ ꡬμΆ
λ κ°μ§ μ£Όμ μ΅μ μ΄ μμ΅λλ€. κΈ°μ‘΄ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ ννκ±°λ μ²μλΆν° μ§μ ꡬμΆν©λλ€. κ° μ΅μ μλ μ₯λ¨μ μ΄ μμ΅λλ€.
κΈ°μ‘΄ λΌμ΄λΈλ¬λ¦¬ μ¬μ©
μ₯μ :
- λ λΉ λ₯Έ κ°λ° μκ°.
- μ¬μ ꡬμΆλ κΈ°λ₯ λ° νΉμ§.
- ν¬λ‘μ€ λΈλΌμ°μ νΈνμ± μ²λ¦¬.
- μ’ μ’ μ§μ λ° μ λ°μ΄νΈκ° ν¬ν¨λ©λλ€.
λ¨μ :
- νΉμ μꡬ μ¬νμ μλ²½νκ² λ§μ§ μμ μ μμ΅λλ€.
- μ¬μ©νμ§ μλ κΈ°λ₯μμ μ μ¬μ μΈ μ€λ²ν€λ.
- λΌμ΄λΈλ¬λ¦¬ μ μ§ κ΄λ¦¬μμ λν μ’ μμ±.
Web Speech Manager μν μ ν μ μλ λͺ κ°μ§ μΈκΈ° μλ JavaScript λΌμ΄λΈλ¬λ¦¬(νμ§λ§ μΆκ° μ¬μ©μ μ μκ° νμν μ μμ):
- annyang: μ¬μ΄νΈμ μμ± λͺ λ Ήμ μΆκ°νκΈ° μν κ°λ¨νκ³ κ°λ²Όμ΄ λΌμ΄λΈλ¬λ¦¬μ λλ€.
- Web Speech API ν΄λ¦¬ν λΌμ΄λΈλ¬λ¦¬: μ¬λ¬ λΌμ΄λΈλ¬λ¦¬λ Web Speech APIμ λν ν΄λ¦¬ν λ° μΆμνλ₯Ό μ 곡νλ©°, λΈλΌμ°μ κ°μ API λμμ νμ€ννλ κ²μ λͺ©νλ‘ ν©λλ€.
μ§μ ꡬμΆ
μ₯μ :
- κΈ°λ₯ λ° κΈ°λ₯μ λν μμ ν μ μ΄.
- νΉμ μꡬ μ¬νμ λ§κ² μ‘°μ λμμ΅λλ€.
- λΆνμν μ€λ²ν€λ μμ.
λ¨μ :
- λ κΈ΄ κ°λ° μκ°.
- Web Speech APIμ λν μ¬μΈ΅μ μΈ μ§μμ΄ νμν©λλ€.
- ν¬λ‘μ€ λΈλΌμ°μ νΈνμ±μ λν μ± μ.
- μ§μμ μΈ μ μ§ κ΄λ¦¬ λ° μ λ°μ΄νΈ.
νΉμ μꡬ μ¬νμ΄ μκ±°λ μ΅λνμ μ μ΄κ° νμν κ²½μ° μ체 νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μλ₯Ό ꡬμΆνλ κ²μ΄ κ°μ₯ μ’μ μ΅μ μΌ μ μμ΅λλ€. κ·Έλ¬λ λλΆλΆμ νλ‘μ νΈμ κ²½μ° κΈ°μ‘΄ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νλ κ²μ΄ λ ν¨μ¨μ μ΄κ³ λΉμ© ν¨μ¨μ μ λλ€.
μ κ·Όμ± κ³ λ € μ¬ν
μμ± μ²λ¦¬λ μ₯μ κ° μλ μ¬μ©μμ μ κ·Όμ±μ ν¬κ² ν₯μμν¬ μ μμ΅λλ€. μμ± μ¬μ© κΈ°λ₯μ ꡬνν λ λ€μ μ¬νμ κ³ λ €νμμμ€.
- λ체 μ λ ₯ λ°©λ² μ 곡: μμ±μ μ ν리μΌμ΄μ κ³Ό μνΈ μμ©νλ *μ μΌν* λ°©λ²μ΄ μλμ΄μΌ ν©λλ€. μ¬μ©μκ° ν€λ³΄λ, λ§μ°μ€ λλ κΈ°ν 보쑰 κΈ°μ μ μ¬μ©νμ¬ λͺ¨λ κΈ°λ₯μ μ‘μΈμ€ν μ μλμ§ νμΈνμμμ€.
- λͺ νν μ§μΉ¨ μ 곡: μμ± λͺ λ Ή μ¬μ© λ°©λ²μ μ€λͺ νκ³ μλ₯Ό μ 곡ν©λλ€.
- μ¬μ©μ μ μ κ°λ₯ν μ€μ μ 곡: μ¬μ©μκ° λ―Όκ°λ λ° μΈμ΄μ κ°μ μμ± μΈμ λ§€κ°λ³μλ₯Ό μ‘°μ ν μ μλλ‘ ν©λλ€.
- μ₯μ κ° μλ μ¬μ©μμ ν μ€νΈ: μμ± μ¬μ© κΈ°λ₯μ΄ μ€μ λ‘ μ κ·Ό κ°λ₯νμ§ νμΈνκΈ° μν΄ μ₯μ κ° μλ μ¬μ©μλ‘λΆν° νΌλλ°±μ λ°μΌμμμ€.
- WCAG κ°μ΄λλΌμΈ μ€μ: μΉ μ½ν μΈ μ κ·Όμ± κ°μ΄λλΌμΈ(WCAG)μ λ°λΌ κ°λ₯ν κ°μ₯ λ§μ μ²μ€μ΄ μ ν리μΌμ΄μ μ μ‘μΈμ€ν μ μλλ‘ νμμμ€.
μ: λμκ΄ μΉμ¬μ΄νΈλ μμ± κ²μ κΈ°λ₯μ μ 곡νμ¬ μ΄λ μ₯μ κ° μλ μ¬μ©μκ° μ λ ₯νμ§ μκ³ λ μ± μ μ½κ² μ°Ύμ μ μλλ‘ ν μ μμ΅λλ€.
νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μμ μ€μ μ μ©
νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μλ λ€μν μ°μ λΆμΌμμ κ΄λ²μνκ² μ¬μ©λ©λλ€.
- μ μ μκ±°λ: μμ± κ²μ, μμ± μ μ΄ μΌν μΉ΄νΈ λ° μμ± κΈ°λ° μ ν 리뷰.
- κ΅μ‘: μΈμ΄ νμ΅ μ ν리μΌμ΄μ , λνν νν λ¦¬μΌ λ° μμ± μ μ΄ ν΄μ¦.
- μλ£: μλ£ κΈ°κΈ°μ νΈμ¦ν리 μ μ΄, μμ± κΈ°λ° νμ κΈ°λ‘ μ λ ₯ λ° μ격 νμ λͺ¨λν°λ§.
- μν°ν μΈλ¨ΌνΈ: μμ± μ μ΄ κ²μ, λνν μ€ν 리ν λ§ λ° μμ± νμ±ν μμ νλ μ΄μ΄.
- μ€λ§νΈ ν: μ‘°λͺ , κΈ°κΈ° λ° λ³΄μ μμ€ν μ μμ± μ μ΄.
- λ΄λΉκ²μ΄μ : μμ± νμ±ν μ§λ μ ν리μΌμ΄μ λ° λ¨κ³λ³ κΈΈμ°ΎκΈ°. μ: κ΅μ μ΄μ‘ νμ¬λ λ€μν κ΅κ°μ μ΄μ μλ₯Ό μ§μνκ³ μ£Όμλ₯Ό λΆμ°μν€κ³ μμ μ κ°μ νκΈ° μν΄ μμ± μ μ΄ λ΄λΉκ²μ΄μ μ νμ©ν©λλ€.
- κ³ κ° μλΉμ€: μμ± κΈ°λ° μ±λ΄ λ° κ°μ λΉμ. μ: λ€κ΅μ μ½μΌν°λ λ€μν μΈμ΄ μ¬μ©μμ μμ΄μ νΈ μ±κ³Ό λ° κ³ κ° λ§μ‘±λλ₯Ό κ°μ νκΈ° μν΄ μ€μκ° μμ± ν μ€νΈ λ³ν λ° λΆμμ ꡬννκΈ° μμνμ΅λλ€.
μΉμμ μμ± μ²λ¦¬μ λ―Έλ
μΉμμ μμ± μ²λ¦¬λ λμμμ΄ μ§ννκ³ μμ΅λλ€. Web Speech APIμ λν λΈλΌμ°μ μ§μμ΄ κ°μ λκ³ κΈ°κ³ νμ΅ μκ³ λ¦¬μ¦μ΄ λμ± μ κ΅ν΄μ§μ λ°λΌ ν₯ν λμ± νμ μ μ΄κ³ κ°λ ₯ν μμ± μ¬μ© μΉ μ ν리μΌμ΄μ μ κΈ°λν μ μμ΅λλ€.
μ£Όλͺ©ν΄μΌ ν λͺ κ°μ§ μ£Όμ νΈλ λ:
- μ νμ± ν₯μ: κΈ°κ³ νμ΅μ λ°μ μ λμ± μ ννκ³ μ λ’°ν μ μλ μμ± μΈμμ μ΄λ κ²μ λλ€.
- μμ°μ΄ μ²λ¦¬(NLP) ν΅ν©: μμ± μ²λ¦¬λ₯Ό NLPμ κ²°ν©νλ©΄ 볡μ‘ν λͺ λ Ήμ μ΄ν΄νκ³ μμ°μ€λ½κ³ λνμ μΈ λ°©μμΌλ‘ μλ΅νλ λ± λμ± μ κ΅ν μμ± μνΈ μμ©μ΄ κ°λ₯ν΄μ§λλ€.
- μν© μΈμ: μΉ μ ν리μΌμ΄μ μ μμ± μ²λ¦¬λ₯Ό μ¬μ©νμ¬ μ¬μ©μμ νκ²½ λ° κΈ°λ³Έ μ€μ μ μ μν¨μΌλ‘μ¨ λμ± μν©μ μΈμνκ² λ κ²μ λλ€.
- κ°μΈν: μμ± μ²λ¦¬λ μ¬μ©μ κ²½νμ κ°μΈννμ¬ κ°λ³ μꡬ μ¬νκ³Ό κΈ°λ³Έ μ€μ μ λ§κ² μ½ν μΈ μ μνΈ μμ©μ μ‘°μ νλ λ° μ¬μ©λ©λλ€.
- λ€κ΅μ΄ μ§μ: μ¬λ¬ μΈμ΄μ λν ν₯μλ μ§μμ μ μΈκ³ μ²μ€μ΄ μμ± μ²λ¦¬μ μ‘μΈμ€ν μ μλλ‘ ν©λλ€.
κ²°λ‘
νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μλ νμ μ μ΄κ³ μ κ·Ό κ°λ₯ν μμ± μ§μ μΉ μ ν리μΌμ΄μ μ ꡬμΆνκΈ° μν νμ λꡬμ λλ€. Web Speech APIμ 볡μ‘μ±μ λ¨μννκ³ μμ± μ²λ¦¬μ λν ꡬ쑰νλ μ κ·Ό λ°©μμ μ 곡ν¨μΌλ‘μ¨ κ°λ°μκ° λ§€λ ₯μ μΈ μ¬μ©μ κ²½νμ λ§λ€κ³ λ λ§μ μ²μ€μκ² λλ¬ν μ μλλ‘ ν©λλ€. κΈ°μ‘΄ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νκ±°λ μ§μ ꡬμΆνλ νλ‘ νΈμλ μΉ μμ± κ΄λ¦¬μμ ν΅μ¬ μ리λ₯Ό μ΄ν΄νλ κ²μ λμμμ΄ μ§ννλ μΉ κ°λ° μΈκ³μμ μμ λκ°κΈ° μν΄ λ§€μ° μ€μν©λλ€.
μμ±μ νμ μμ©ν¨μΌλ‘μ¨ μ μΈκ³ μ¬μ©μλ₯Ό μν΄ λ³΄λ€ μ§κ΄μ μ΄κ³ , μ κ·Ό κ°λ₯νλ©°, λ§€λ ₯μ μΈ μΉ μ ν리μΌμ΄μ μ λ§λ€ μ μμ΅λλ€. Web Speech APIλ₯Ό μ€ννκ³ μμ± μ μ΄ μνΈ μμ©μ κ°λ₯μ±μ νꡬνλ κ²μ λλ €μνμ§ λ§μμμ€.